Index: atlas-3.8.3/Make.top
===================================================================
--- atlas-3.8.3.orig/Make.top	2010-02-10 10:43:40.000000000 +0100
+++ atlas-3.8.3/Make.top	2010-02-10 11:12:09.000000000 +0100
@@ -122,31 +122,31 @@
 	$(MAKE) -f Make.top leafstart leaf=lib/atlas
 	$(MAKE) -f Make.top leafstart leaf=lib
 	$(MAKE) -f Make.top leafstart leaf=bin
-	cd src/blas/gemm ; mkdir KERNEL
-	cd tune/blas/gemm ; mkdir KERNEL
-	cd tune/blas/gemm ; mkdir res
-	cd tune/blas/gemv ; mkdir res
-	cd tune/blas/ger ; mkdir res
-	cd tune/blas/level1 ; mkdir res
-	cd tune/blas/level1 ; mkdir GEN
-	cd tune/blas/level3 ; mkdir res
-	cd tune/sysinfo ; mkdir res
-	cd bin ; mkdir INSTALL_LOG
-	cd tune/blas/gemv ; ln -s $(SRCdir)/tune/blas/gemv/CASES CASES
-	cd tune/blas/ger ; ln -s $(SRCdir)/tune/blas/ger/CASES CASES
-	cd tune/blas/gemm ; ln -s $(SRCdir)/tune/blas/gemm/CASES CASES
-	cd tune/blas/level1 ; ln -s $(SRCdir)/tune/blas/level1/SWAP SWAP
-	cd tune/blas/level1 ; ln -s $(SRCdir)/tune/blas/level1/SET SET
-	cd tune/blas/level1 ; ln -s $(SRCdir)/tune/blas/level1/SCAL SCAL
-	cd tune/blas/level1 ; ln -s $(SRCdir)/tune/blas/level1/ROT ROT
-	cd tune/blas/level1 ; ln -s $(SRCdir)/tune/blas/level1/NRM2 NRM2
-	cd tune/blas/level1 ; ln -s $(SRCdir)/tune/blas/level1/IAMAX IAMAX
-	cd tune/blas/level1 ; ln -s $(SRCdir)/tune/blas/level1/DOT DOT
-	cd tune/blas/level1 ; ln -s $(SRCdir)/tune/blas/level1/CPSC CPSC
-	cd tune/blas/level1 ; ln -s $(SRCdir)/tune/blas/level1/COPY COPY
-	cd tune/blas/level1 ; ln -s $(SRCdir)/tune/blas/level1/AXPY AXPY
-	cd tune/blas/level1 ; ln -s $(SRCdir)/tune/blas/level1/AXPBY AXPBY
-	cd tune/blas/level1 ; ln -s $(SRCdir)/tune/blas/level1/ASUM ASUM
+	cd src/blas/gemm ; if test ! -d KERNEL; then mkdir KERNEL; fi
+	cd tune/blas/gemm ; if test ! -d KERNEL; then mkdir KERNEL; fi
+	cd tune/blas/gemm ; if test ! -d res; then mkdir res; fi
+	cd tune/blas/gemv ; if test ! -d res; then mkdir res; fi
+	cd tune/blas/ger ; if test ! -d res; then mkdir res; fi
+	cd tune/blas/level1 ; if test ! -d res; then mkdir res; fi
+	cd tune/blas/level1 ; if test ! -d GEN; then mkdir GEN; fi
+	cd tune/blas/level3 ; if test ! -d res; then mkdir res; fi
+	cd tune/sysinfo ; if test ! -d res; then mkdir res; fi
+	cd bin ; if test ! -d INSTALL_LOG; then mkdir INSTALL_LOG; fi
+	cd tune/blas/gemv ; if test ! -h CASES; then ln -s $(SRCdir)/tune/blas/gemv/CASES CASES; fi
+	cd tune/blas/ger ; if test ! -h CASES; then ln -s $(SRCdir)/tune/blas/ger/CASES CASES; fi
+	cd tune/blas/gemm ; if test ! -h CASES; then ln -s $(SRCdir)/tune/blas/gemm/CASES CASES; fi
+	cd tune/blas/level1 ; if test ! -h SWAP; then ln -s $(SRCdir)/tune/blas/level1/SWAP SWAP; fi
+	cd tune/blas/level1 ; if test ! -h SET; then ln -s $(SRCdir)/tune/blas/level1/SET SET; fi
+	cd tune/blas/level1 ; if test ! -h SCAL; then ln -s $(SRCdir)/tune/blas/level1/SCAL SCAL; fi
+	cd tune/blas/level1 ; if test ! -h ROT; then ln -s $(SRCdir)/tune/blas/level1/ROT ROT; fi
+	cd tune/blas/level1 ; if test ! -h NRM2; then ln -s $(SRCdir)/tune/blas/level1/NRM2 NRM2; fi
+	cd tune/blas/level1 ; if test ! -h IAMAX; then ln -s $(SRCdir)/tune/blas/level1/IAMAX IAMAX; fi
+	cd tune/blas/level1 ; if test ! -h DOT; then ln -s $(SRCdir)/tune/blas/level1/DOT DOT; fi
+	cd tune/blas/level1 ; if test ! -h CPSC; then ln -s $(SRCdir)/tune/blas/level1/CPSC CPSC; fi
+	cd tune/blas/level1 ; if test ! -h COPY; then ln -s $(SRCdir)/tune/blas/level1/COPY COPY; fi
+	cd tune/blas/level1 ; if test ! -h AXPY; then ln -s $(SRCdir)/tune/blas/level1/AXPY AXPY; fi
+	cd tune/blas/level1 ; if test ! -h AXPBY; then ln -s $(SRCdir)/tune/blas/level1/AXPBY AXPBY; fi
+	cd tune/blas/level1 ; if test ! -h ASUM; then ln -s $(SRCdir)/tune/blas/level1/ASUM ASUM; fi
 	$(MAKE) -f Make.top refresh arch=$(arch)
 
 refresh :
